home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Samples / SampleDir / SMIL / SMIL.DTD next >
Encoding:
Text File  |  2000-07-03  |  7.0 KB  |  227 lines  |  [TEXT/ttxt]

  1. <!--
  2.  
  3.     This is a draft and experimental XML document type
  4.     definition for SMIL 1.0.
  5.  
  6.         Draft:  $Date: 1998/05/22 19:33:00 $ ($Revision: 1.2 $)
  7.  
  8.         Author: Jacco van Ossenbruggen <jrvosse@cwi.nl>
  9.  
  10.     This is work in progress, subject to change at any time.
  11.     Further information about SMIL 1.0 is available at:
  12.  
  13.           http://www.w3.org/AudioVideo/
  14.  
  15. -->
  16.  
  17. <!--=================== SMIL Document =====================================-->
  18. <!--
  19.      The root element SMIL contains all other elements.
  20. -->
  21. <!ELEMENT smil (head?,body?)>
  22. <!ATTLIST smil
  23.         id      ID              #IMPLIED
  24. >
  25.  
  26. <!--=================== The Document Head =================================-->
  27. <!ENTITY % layout-section "layout|switch">
  28. <!ENTITY % head-element "%layout-section;|meta">
  29.  
  30. <!ELEMENT head ((%head-element;)*)>
  31. <!ATTLIST head id ID #IMPLIED>
  32.  
  33.  
  34. <!--=================== Layout Element ====================================-->
  35. <!--
  36.      Layout contains channel elements or the elements
  37.      of an external layout mechanism.
  38. -->
  39. <!ELEMENT layout ANY>
  40. <!ATTLIST layout
  41.         id   ID         #IMPLIED
  42.         type CDATA      "text/smil-basic"
  43. >
  44.  
  45.  
  46. <!--=================== Channel Element ===================================-->
  47. <!ELEMENT channel EMPTY>
  48. <!ATTLIST channel
  49.         id      ID      #REQUIRED
  50.         left    CDATA   "0"
  51.         top     CDATA   "0"
  52.         z-index CDATA   "0"
  53.         height  CDATA   #IMPLIED
  54.         width   CDATA   #IMPLIED
  55.         scale   (meet|slice|fill|visible|hidden|auto|scroll)    "meet"
  56. >
  57.  
  58.  
  59. <!--=================== Meta Element=======================================-->
  60. <!ELEMENT meta EMPTY>
  61. <!ATTLIST meta
  62.         name    NMTOKEN #REQUIRED
  63.         content CDATA   #REQUIRED
  64. >
  65.  
  66. <!--=================== The Document Body =================================-->
  67. <!ENTITY % media-object "audio|video|text|img|ref">
  68. <!ENTITY % schedule "par|seq|(%media-object;)">
  69. <!ENTITY % inline-link "a">
  70. <!ENTITY % assoc-link "anchor">
  71. <!ENTITY % link "%inline-link;">
  72. <!ENTITY % container-content "(%schedule;)|switch|(%link;)">
  73. <!ENTITY % body-content "%container-content;">
  74.  
  75. <!ELEMENT body (%body-content;)?>
  76. <!ATTLIST body id ID #IMPLIED>
  77.  
  78. <!--=================== Synchronization Attributes ========================-->
  79. <!ENTITY % sync-attributes "
  80.         begin   CDATA   #IMPLIED
  81.         end     CDATA   #IMPLIED
  82. ">
  83.  
  84. <!--=================== Switch Parameter Attributes =======================-->
  85. <!ENTITY % switch-param-attribute "
  86.         bitrate         CDATA #IMPLIED
  87.         language        CDATA #IMPLIED
  88.         screen-size     CDATA #IMPLIED
  89.         screen-depth    CDATA #IMPLIED
  90. ">
  91.  
  92. <!--=================== Fill Attribute ====================================-->
  93. <!ENTITY % fill-attribute "
  94.         fill    (remove|freeze|loop)    'remove'
  95. ">
  96.  
  97.  
  98. <!--=================== The Parallel Element ==============================-->
  99. <!-- The default for par's sync attribute is the value
  100.      of the sync attribute of the SMIL root element.
  101. -->
  102. <!ENTITY % par-content "%container-content;">
  103. <!ELEMENT par    (%par-content;)*>
  104. <!ATTLIST par
  105.         id      ID              #IMPLIED
  106.         endsync CDATA           "last"
  107.         sync    (hard|soft)     #IMPLIED
  108.         dur     CDATA           #IMPLIED
  109.         repeat  CDATA           "1"
  110.         %fill-attribute;
  111.         channel IDREF           #IMPLIED
  112.         %sync-attributes;
  113.         %switch-param-attribute;
  114. >
  115.  
  116. <!--=================== The Sequential Element ============================-->
  117. <!ENTITY % seq-content "%container-content;">
  118. <!ELEMENT seq    (%seq-content;)*>
  119. <!ATTLIST seq
  120.         id      ID      #IMPLIED
  121.         dur     CDATA   #IMPLIED
  122.         repeat  CDATA   "1"
  123.         %fill-attribute;
  124.         %sync-attributes;
  125.         %switch-param-attribute;
  126. >
  127.  
  128. <!--=================== The Switch Element ================================-->
  129. <!-- In the head, a switch may contain only layout elements,
  130.      in the body, only container elements. However, this
  131.      constraint cannot be expressed in the DTD (?), so
  132.      we allow both:
  133. -->
  134. <!ENTITY % switch-content "layout|(%container-content;)">
  135. <!ELEMENT switch (%switch-content;)*>
  136. <!ATTLIST switch
  137.         id ID #IMPLIED
  138.         %switch-param-attribute;
  139. >
  140.  
  141. <!--=================== Media Object Elements =============================-->
  142. <!-- SMIL only defines the structure. The real media data is
  143.      referenced by the src attribute of the media objects.
  144.      The media objects have the following link attributes
  145.      for XML linking compatibility:
  146. -->
  147. <!ENTITY % mo-XML-link-atts "
  148.         xml-link        (simple)        #FIXED 'simple'
  149.         show            (embed)         #FIXED 'embed'
  150.         actuate         (auto)          #FIXED 'auto'
  151.         inline          (true)          #FIXED 'true'
  152. ">
  153.  
  154. <!-- Furthermore, they have the the following attributes as defined
  155.      in the SMIL draft
  156. -->
  157. <!ENTITY % mo-attributes "
  158.         id      ID      #IMPLIED
  159.         src     CDATA   #REQUIRED
  160.         type    CDATA   #IMPLIED
  161.         channel IDREF   #IMPLIED
  162.         dur     CDATA   #IMPLIED
  163.         repeat  CDATA   '1'
  164.         %fill-attribute;
  165.         %sync-attributes;
  166.         %switch-param-attribute;
  167.         %mo-XML-link-atts;
  168. ">
  169. <!-- Some of the media objects can have a range attribute -->
  170. <!ENTITY % range-attribute "range CDATA #IMPLIED">
  171.  
  172. <!--
  173.      Most info is in the attributes, media objects are empty or
  174.      contain associated link elements:
  175. -->
  176. <!ELEMENT ref   (%assoc-link;)*>
  177. <!ELEMENT audio (%assoc-link;)*>
  178. <!ELEMENT img   (%assoc-link;)*>
  179. <!ELEMENT video (%assoc-link;)*>
  180. <!ELEMENT text  (%assoc-link;)*>
  181.  
  182. <!ATTLIST ref   %mo-attributes; %range-attribute;>
  183. <!ATTLIST audio %mo-attributes; %range-attribute;>
  184. <!ATTLIST img   %mo-attributes;>
  185. <!ATTLIST video %mo-attributes; %range-attribute;>
  186. <!ATTLIST text  %mo-attributes;>
  187.  
  188.  
  189. <!--=================== Link Elements =====================================-->
  190. <!-- These should all conform to the XML linking elements -->
  191.  
  192. <!ENTITY % link-XML-link-atts "
  193.         xml-link        (simple)                #FIXED 'simple'
  194.         actuate         (user)                  #FIXED 'user'
  195.         show            (replace|new|pause)     'replace'
  196.         inline          (true)                  #FIXED  'true'
  197.         role            CDATA                   #IMPLIED
  198.         content-role    CDATA                   #IMPLIED
  199.         content-title   CDATA                   #IMPLIED
  200.         behavior        CDATA                   #IMPLIED
  201. ">
  202.  
  203. <!ENTITY % smil-link-attributes "
  204.         id              ID                      #IMPLIED
  205.         href            CDATA                   #REQUIRED
  206. ">
  207.  
  208.  
  209. <!--=================== Inline Link Element ===============================-->
  210. <!ELEMENT a (%schedule;|switch)*>
  211. <!ATTLIST a
  212.         %link-XML-link-atts;
  213.         %smil-link-attributes;
  214. >
  215.  
  216.  
  217. <!--=================== Associated Link Element ===========================-->
  218. <!ELEMENT anchor EMPTY>
  219. <!ATTLIST anchor
  220.         coords          CDATA                   #IMPLIED
  221.         iid             CDATA                   #IMPLIED
  222.         z-index         CDATA                   "0"
  223.         %smil-link-attributes;
  224.         %link-XML-link-atts;
  225.         %sync-attributes;
  226. >
  227.